#include<iostream>
#include<cstdio>
#include<algorithm>
const int maxn=500005;
using namespace std;
int n;
int a[maxn],w[maxn*4];
void init_hash(){
    static int tmp[maxn];
    for(int i=1;i<=n;i++)tmp[i]=a[i];
    sort(tmp+1,tmp+1+n);
    int *ed=unique(tmp+1,tmp+1+n);
    for(int i=1;i<=n;i++){
        a[i]=lower_bound(tmp+1,ed,a[i])-tmp;
    }
}
int cx(int u,int l,int r,int v){
    if(w[u]==0)return 0;
    if(l>=v)return w[u];
    int m=(l+r)>>1;
    if(m<v)return cx(u*2+1,m+1,r,v);
    else return cx(u*2+1,m+1,r,v)+cx(u*2,l,m,v);
}
void update(int u,int l,int r,int v){
    ++w[u];
    if(l==r)return;
    int mid=(l+r)>>1;
    if(mid>=v)update(u*2,l,mid,v);
    if(mid<v)update(u*2+1,mid+1,r,v);
}
int main(){
    scanf("%d",&n);
    for(int i=1;i<=n;i++)scanf("%d",a+i);
    init_hash();
    long long ans=0;
    for(int j=1;j<=n;j++){
        ans+=cx(1,1,n,a[j]+1);
        update(1,1,n,a[j]);
    }
    printf("%lld\n",ans);
    return 0;
}